package com.tetris

import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp

// 常量
object Const {
    // 格
    var GRID_SIZE = 0f                              // 尺寸（需要根据屏幕尺寸计算出来）

    // 主活动
    val MAIN_ACTIVITY_CTRL_PADDING = 10.dp          // 控件的间隔距离

    // 方块
    const val BLOCK_GRID_COUNT_H = 4                // 一个方块由
    const val BLOCK_GRID_COUNT_V = 4                // 4*4 的格组成

    // 游戏区域
    const val GAME_BOARD_GRID_COUNT_H = 10          // 横向格数
    const val GAME_BOARD_GRID_COUNT_V = 20          // 纵向格数
    val GAME_BOARD_COLOR = Color.White              // 背景色

    // 预览区域
    const val PREVIEW_GRID_COUNT_H = 5              // 横向格数
    const val PREVIEW_GRID_COUNT_V = 5              // 纵向格数
    val PREVIEW_COLOR = Color.White                 // 背景色

    // 定时器
    const val TIMER_INIT = 1000L                    // 初始间隔值，单位毫秒
    const val TIMER_GROW = 100L                     // 增长间隔值，单位毫秒，难度每增加1级，间隔值减少此数

    // 难度
    const val DIFF_BASE = 5000                      // 基数。分数每达到此数的整数倍时，难度增加
    const val DIFF_MAX = 10                         // 最大值。难度达到此数后不再增加

    // 胜利数
    const val WIN_NUMBER = DIFF_BASE * DIFF_MAX     // 达到此数胜利

    // 事件
    const val UM_TIMER = 0                          // 定时器事件

    // 画图片控件的边框(PictureCtrl.drawEdge 方法)用到的颜色
    val COLOR_LEFT_TOP_1 = Color(214, 211, 206)     // 左上外层颜色
    val COLOR_LEFT_TOP_2 = Color.White              // 左上内层颜色
    val COLOR_RIGHT_BOTTOM_1 = Color(66, 65, 66)    // 右下内层颜色
    val COLOR_RIGHT_BOTTOM_2 = Color(132, 130, 132) // 右下外层颜色

    // 其它
    const val PADDING_LEFT = 1                      // 左边界格数
    const val PADDING_MIDDLE = 1                    // 中间（游戏区域和预览区域之间）格数
    const val PADDING_RIGHT = 1                     // 右边界格数
}
